Welcome to BotSailor Help! Just use the email OTP to sign in and track your tickets. Password login isn’t needed anymore.

Display Dynamic Lists in WhatsApp Using HTTP API & Interactive Message

Want to fetch live product data or any external dynamic content and display it inside WhatsApp using BotSailor? This tutorial will show you how to connect your HTTP API and deliver real-time information as a WhatsApp interactive list message.

 

What This Guide Covers

  • Connecting any external API using HTTP GET or POST

  • Mapping the API response to display dynamic WhatsApp list items

  • Triggering and testing the flow with WhatsApp chatbot keywords



Why Display Dynamic Lists in WhatsApp?

Displaying product catalogs, service packages, FAQs, and other real-time data using dynamic lists inside WhatsApp improves customer experience and reduces your manual workload.


Benefits:

✅ Fully automated catalog updates
✅ Personalize user responses with real-time info
✅ Better conversion using WhatsApp’s native UI
✅ Use for eCommerce, support, services, and more





Step-by-Step Guide

Step 1: Go to HTTP API Integration

  1. Click on Settings from the left-side panel

  2. Choose HTTP API Integration

  3. Select WhatsApp HTTP API





Step 2: Create a New HTTP API

  • Click the Create button



  • Copy a test Subscriber ID from Subscriber Manager



  • Add your API name (e.g., Shopping)

  • Select GET or POST method

  • Paste the API Endpoint URL





Step 3: Example JSON Output from API Endpoint

Here’s an actual example response from the API you can use for dynamic list generation:

{

  "0": {

    "product_name": "Apple iPhone 15 Pro",

    "price": "$999",

    "description": "The Apple iPhone 15 Pro features a powerful A17 Pro chip, 48MP camera system, and a sleek titanium design for maximum performance and durability.",

    "buy_link": "https://www.apple.com/iphone-15-pro/"

  },

  "1": {

    "product_name": "Samsung Galaxy S24 Ultra",

    "price": "$1,199",

    "description": "The Samsung Galaxy S24 Ultra offers a stunning 6.8-inch AMOLED display, a 200MP camera, and cutting-edge performance with the latest Snapdragon processor.",

    "buy_link": "https://www.samsung.com/galaxy-s24-ultra/"

  },

}

📌 Each product is represented as an object with product_name, price, description, and buy_link.





Step 4: Map the API Response

  1. Under HTTP API Response Mapping:

  • Select field to map data (e.g., ProductList). Here you can search for the custom field you want. You can also make your own field by typing and hitting enter.

  • Use [Raw Response] or map specific fields






Step 5: Set Up Bot Flow

  1. Create a new Start Bot Flow with a trigger keyword like products

  2. Add an HTTP API block and connect your Shopping API

  3. Add an Interactive Message block:

  • Title: Our Available Products

  • Message Body: “These are the products available here.”

  • Add a List Message 





Step 6: Configure Dynamic Rows

  1. Set Row Generation Method to Dynamic

  2. Custom Field: #ProductList#

  3. Row Title: product_name

  4. Row Description Format:

  • #ProductList->price# - #ProductList->description#






Step 7: Test in WhatsApp

Once the flow is published, your WhatsApp bot will automatically respond to the trigger with a dynamic, real-time list like this:







Bonus Tips

  • You can use the buy_link in follow-up messages like:
    “Thanks for choosing. Buy it here: #ProductList->buy_link#”

  • Test different product categories by sending keywords like laptops, phones, etc., and mapping different APIs

  • Combine dynamic lists with checkout flows, Zapier actions, or WhatsApp template follow-ups







Frequently Asked Questions (FAQs)



Can I use any public API?
As long as it returns valid JSON or form-encoded output.

 

Is this feature available on free plans?
It depends on your BotSailor plan. Please refer to BotSailor pricing.

 

Can I link the user to the product buy URL?
Yes, use a follow-up message block to insert the dynamic buy_link.Q4: Is it possible to refresh product data periodically?Yes. Since the API is called live, users will always get the latest version.

 

What if the API structure changes?
Update your response mapping in BotSailor to match the new structure.

 

Can I send dynamic list messages for Messenger too?
WhatsApp is currently the best-suited channel for this UI. Messenger supports similar flows with generic templates.

 

What format should the API return for dynamic rows?
Each row should be an object with at least a name/title key. e.g., product_name, price, etc.

 

Can I use conditional logic after selection?
Yes. Store the selected item in a custom field and trigger flows based on that value.

 

Is authentication supported for private APIs?
Yes, you can set headers, tokens, or cookies in the request settings.

 

Can I update subscriber fields based on API results?
Yes, BotSailor allows mapping any API response to update subscriber custom fields.